1. Field of the Invention
This invention relates generally to a digital computer subsystem for storing data, and more specifically, to a dynamic random access memory unit which functions as a hard disk storage unit without the latency limitations of a normal hard disk.
2. Description of the Prior Art
All computers regardless of size are comprised of the same basic subsystems, a central processing unit, a means for displaying information, a means for entering information, and a means for storing data. Several means for storing data currently exist including floppy disk drives, tape drives, and hard or fixed disk drives. Floppy disk drives have a limited storage capacity usually one megabyte or less. Tape drives are useful for archiving and backing up data, but tape drives are not appropriate for random access applications. The device most commonly used for storage of large amounts of data is the hard disk drive. The total memory capacity of a hard disk drive can range from 5-1000 megabytes.
The hard disk drive has a rotating magnetic media, a disk, that can be magnetized in a certain pattern and a read/write head which flys above the surface of the disk. During a write operation, the head creates data patterns on the magnetic coating of the rotating disk which represent the data, while in read mode the head reads these data patterns. In most high capacity hard disk drives, several disks are mounted above one another on a common spindle. Each of the disks has at least one head/write head per surface, and commonly several read/write heads may be utilized on each surface. Data is stored in tracks which are concentric circles on the disk surface. When a plurality of disks are used on a common spindle, the tracks on the disks are written at the same relative radial position on each disk, that is track one on one disk is directly above (or below) track one on the adjacent disk. The track locations may also be looked as cylinder locations since the location of track one on the stack of disks forms what is referred to as a cylinder which extends perpendicularly to the disk surfaces.
The data stored on the hard disk is generally divided into files. Each file represents a unit of data which is processed by the digital computer. The files are stored on the rotating disk in sectors. The number of sectors which are written in one revolution of the rotating disk comprise a track. While the number of sectors per track is a function of the disk drive and the disk controller, thirty-two sectors per track are common. Since a magnetic servo can position the read/write heads over the entire surface of the disk, the disk surface contains a multiplicity of concentric data tracks. A typical disk has a track density of 1000 concentric tracks over a one inch radius.
The central processing unit, the central processor, of a digital computer must be able to read and write data on the hard disk upon command. The data must be written on the disk so that it can be found when the central processor wants to the read the same data. Controlling a disk drive is a very involved operation and if the central processor were totally involved in disk drive control, the central processor would not have adequate time for other operations such as mathematical computations or data processing. Therefore, the central processor interfaces with the hard disk drive through a disk controller. The central processor issues a request for a file to the disk controller and then goes on to other tasks. The disk controller issues commands to the disk drive, locates the sectors comprising the file on the disk, retrieves the file, and cues the central processor that the file is ready for use.
The disk controller acting as an interface between the central processor and the hard disk drive introduces another problem. Each computer has its own protocol, that is, each computer has a unique bus structure for interfacing the central processor with peripheral devices such as a hard disk drive. To interface a hard disk drive with each of the various buses for the central processing units of different computers would be a very cumbersome task. Accordingly, standard disk protocols have been developed for hard disk drives. Thus, each central processor has its own convention for communication, but the disk controller translates this convention into a standard disk protocol.
Control Data Corporation originated one of the most widely used disk interface specifications, the Storage Module Device (SMD) interface. The SMD interface uses bit serial digital data transfer, a parallel control bus, differential signals, and incorporates error recovery facilities. The SMD interface is widely applied and virtually all the major disk manufacturers build products that comply with the SMD interface. Therefore, means are available for interfacing a hard disk drive with the central processing unit of the digital computer, but hard disk drives are still plagued with two very serious problems, seek time and latency.
Access time is defined as the time span between when the central processor requests information and that information is made available by the disk controller. The major factor in the access time is the large amount of time, the seek time, required to position a head over the desired track of the hard disk. A seek time of 100 milliseconds is not uncommon for hard disk drives. The magnetic servo can only position the head near the desired track. Each sector in a track contains information about the head position, the track, and the sector number within the track. The controller reads this information and through successive approximation between the current position of the read head and the desired position of the read head, the desired track is found.
The 100 millisecond delay time is a significant delay for modern high speed computers, but several factors can make the delay time even greater. After the track requested by the central processor is located, another delay, rotational latency, may be imposed. A typical hard disk makes one complete revolution every 16 milliseconds. If the head is positioned on a track just as the desired sector has gone past, the controller must wait another 16 milliseconds before the desired sector can be read.
A large file may include hundreds of sectors each filled with data. The disk controller can handle only several sectors at a time. Thus, the access time delay is imposed over and over again. Also if a large file is being used simultaneously by many different users of the digital computer, the disk controller is flooded with requests for sectors located throughout the disk.
While these problems are widely recognized, the high speed rotation of the disk, the ability to precisely position the read/write heads, and the geometry of the disk severely limit the choices in addressing these problems. The options available for improving access time include increasing the rotation speed of the disk, increasing the storage density of the disk, or enhancing the storage efficiency on the disk.
To better understand the limitations of the current hard disk drives, consider the information written in each sector on the hard disk by the SMD disk controller. As shown in FIG. 1a, each sector 10 is comprised of several fields in addition to the data field. The first information at the beginning of each sector is the head scatter field 11. This field 11, typically sixteen bytes long, is provided to compensate for the inability of a normal hard disk drive to go instantaneously from reading to writing. Immediately after the head scatter field 11 is the PLO sync field 12 which is typically ten bytes in length. The PLO sync 12 is a sync signal that permits the controller to compensate for variations in the disk speed from disk to disk or from time to time. Next is the address field 13 of the sector 10 which comprises eight bytes and is further broken down as shown in FIG. 1b.
The address field 13 is a unique field for each sector on the disk. It provides information on the sync pattern 13a, flag status and logical unit 13b, the upper cylinder 13c, lower cylinder 13d and the head and sector 13e plus two cyclic redundancy checking (CRC) code bytes 13f, 13g. Following the address field 13 is a write splice field 14 which is typically one byte. This is followed by another PLO sync field 15 of ten bytes and a sync pattern field 16 of one byte.
After fields 11-16 is the data field 17 in which the central processing unit may store data on the disk or read data from the disk. The data field 17 is followed by a two byte CRC field 18 and then the one byte end of record pad field 19, followed by an eight byte end of sector field 20.
On a typical hard disk, only 81% of the storage capacity is actually used for data storage. The remaining storage capacity is used to store the additional fields for each sector as shown in FIG. 1. Typically, only the 8 byte address field and the data field are unique to the sector. The data in the other fields is similar for each of the sectors in a track.
In locating a desired sector, the disk controller issues a seek command. A conventional hard disk drive then issues a pair of signals, a sector pulse and an index pulse. The sector pulse is issued to the controller at the beginning of each sector and the index pulse is issued once per revolution of the disk. The SMD disk controller issues a read gate signal immediately after receiving the sector pulse. The hard disk drive upon receipt of the seek command positions the read/write heads. Upon receipt of the read gate signal, the disk drive reads the head scatter, PLO sync, and the address fields of the sector over which the read head is currently positioned and sends the information to the SMD disk controller. The SMD disk controller always deasserts the read gate at the write splice field of the sector. Next, the controller initiates one of three actions;
1. If this is the sector to read, read gate is reasserted. PA0 2. If this is the sector to write, write gate is asserted. PA0 3. If this is not the sector of interest, neither gate is asserted.
If it is not the correct track, the head moves to a new location based upon the current position and the position requested by the central processor and reads again. This process continues until the correct track is found. A read gate or write gate signal is asserted by the disk controller when the desired sector and track are found.
To overcome the problems associated with hard disk drives requires eliminating or substantially reducing the access time of the disk drive as well as providing better means for storage of data. The prior art has considered increasing the rotational speed of the hard disk, increasing the storage density of the hard disk, and increasing the efficiency of data storage on the hard disk as means for improving the performance of a hard disk drive. Another solution would be to replace the hard disk with solid state memory. Solid state memory has the advantages of a very fast access time and very good reliability because it is not an electromechanical device, but the SMD interface was conceived to control disks and rotating medium and not to control any type of solid state memory. Therefore to replace the hard disk with solid state memory requires that the solid state memory appear as a disk to the SMD disk controller. This invention overcomes the problems of the prior art by providing a means for directly interfacing a solid state memory with a SMD disk controller.